# Darren
# 2025年02月19日22时02分13秒

num_str = '0123456789'
print(num_str[2:6])  # 截取从 2 ~ 5 位置 的字符串
print(num_str[2:])  # 截取从 2 ~ 末尾的字符串
print(num_str[:6])  # 截取从 开始 ~ 5 位置 的字符串
print(num_str[:])  # 截取完整的字符串
print(num_str[::2])  # 从开始位置，每隔一个字符截取字符串
print(num_str[1::2])  # 从索引 1 开始，每隔一个取一个
print(num_str[2:-1])  # 截取从 2 ~ 末尾 - 1的字符串
print(num_str[-2::])  # 截取字符串末尾两个字符
print(num_str[::-1])  # 字符串的逆序
print(num_str[-2::-2])
print('-' * 50)

a = (1, 2, 3)
b = ('a', 'b', 'c')
ab_list = list(zip(a, b))
print(ab_list)
print('-' * 50)

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
seasons_dict = {k: v for v, k in enumerate(seasons)}
print(seasons_dict)
print('-' * 50)


def fuc_def(name, pos="程序员", gender=True):
    gender_text = "男性"
    if not gender:
        gender_text = "女性"
    print(f"{name}的职业是{pos},性别是{gender_text}")


fuc_def("小明")
fuc_def("小美", gender=False)
fuc_def("小张", "医生")
print('-' * 50)


def multi_par(*args, **kwargs):
    """
    计算所有传入整数的总和、平均值、最大值和最小值。
    如果关键字参数中包含 print_result 且其值为 True，则打印计算得到的总和、平均值、最大值和最小值。
    函数最终返回一个包含总和、平均值、最大值和最小值的元组。
    :return:
    """
    s_num = sum(args)
    average_num = s_num / len(args)
    num_max = max(args)
    num_min = min(args)
    if "print_result" in kwargs and kwargs["print_result"]:
        print(s_num, average_num, num_max, num_min)


def entrance_fuc(num1,num2,*args, **kwargs):
    multi_par(*args, **kwargs)


multi_par(1, 5, 8, 7, 3, 9, 6, 1, gender=True, print_result=True, age=18, time=3600)
entrance_fuc(1, 5, 8, 7, 3, 9, 6, 1, gender=True, print_result=True, age=18, time=3600)
